package com.winhxd.b2c.product.dao;

import com.winhxd.b2c.common.domain.product.model.ProductSpuTag;
import com.winhxd.b2c.common.domain.product.model.ProductTag;

import java.util.List;

/**
 * 商品spu服务
 * @author cuipengbo
 * @date 2019/1/18　　
*/
public interface ProductSpuTagMapper {
    /**
     * 根据id删除商品spu服务
     * @param id　　
     * @return int
     * @author cuipengbo
     * @date 2019/1/18　　
    */
    int deleteByPrimaryKey(Long id);

    /**
     * 根据spuid删除商品spu服务
     * @param id　　
     * @return int
     * @author cuipengbo
     * @date 2019/1/18　　
     */
    int deleteBySpuId(Long id);

    /**
     * 添加商品spu服务
     * @param record　　
     * @return int
     * @author cuipengbo
     * @date 2019/1/18　　
     */
    int insert(ProductSpuTag record);

    /**
     * 添加商品spu服务
     * @param record　　
     * @return int
     * @author cuipengbo
     * @date 2019/1/18　　
     */
    int insertSelective(ProductSpuTag record);

    /**
     * 根据id查询商品spu服务
     * @param id　　
     * @return ProductSpuTag
     * @author cuipengbo
     * @date 2019/1/18　　
     */
    ProductSpuTag selectByPrimaryKey(Long id);

    /**
     * 根据条件修改商品spu服务
     * @param record　　
     * @return int
     * @author cuipengbo
     * @date 2019/1/18　　
     */
    int updateByPrimaryKeySelective(ProductSpuTag record);

    /**
     * 根据条件修改商品spu服务
     * @param record　　
     * @return int
     * @author cuipengbo
     * @date 2019/1/18　　
     */
    int updateByPrimaryKey(ProductSpuTag record);

    /**
     * 根据条件查询商品spu服务
     * @param record
     * @return List<ProductSpuTag>
     * @author cuipengbo
     * @date 2019/1/18　　
     */
    List<ProductSpuTag> selectByModel(ProductSpuTag record);

    /**
     *  查询启用的商品使用的服务（标签）
     * @param spuId
     * @author cuipengbo
     * @return List<ProductTag>
     * @date 2019/1/18　
     */
    List<ProductTag> selectProductTagLeftJoinProductSpuTagBySpuId(Long spuId);
}